#include<cstdio>
#include<iostream>
#include<algorithm>

const int N = 1e5 + 5;

int n, ans = 0;
struct T {
    int r; bool failed;

    bool operator < (const T& rhs) const {
        return r < rhs.r;
    }
} a[N];


// Z*L#LH%9
int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0), std::cout.tie(0);

    /*
    I can't sure that if this program can AC,
    Because on the computer of I used when was having the exam,
    The program ran about 1.32s on the biggest sample.
    I hope I won't TLE. :(
    */

    std::freopen("duel.in", "r", stdin);
    std::freopen("duel.out", "w", stdout);

    std::cin >> n;
    for(int i = 1; i <= n; ++i) {
        std::cin >> a[i].r;
        a[i].failed = false;
    }

    std::sort(a + 1, a + n + 1);
    for(int i = 1; i <= n; ++i) {
        int pos = std::lower_bound(a + 1, a + i + 1, a[i]) - a;
        while(a[pos].r >= a[i].r || a[pos].failed) --pos;
        if(pos <= 0) continue;
        else a[pos].failed = true, ++ans;
    }

    std::cout << n - ans << "\n";

    return 0;
}
